﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using Entity.Framework;
using Business.Operations;

namespace HPDMAS.UserControls
{
    public partial class KullaniciTahsilBilgileri : System.Web.UI.UserControl
    {
        List<KullaniciTahsil> kullaniciTahsilListesi;
        private KullaniciTahsil k;
        public int kullaniciId;
        /// <summary>
        /// Kontroller
        /// </summary>
        DropDownList ddlTahsilDurumu;
        TextBox txtSonMezunOlduguOkul;
        TextBox txtYabanciDil1;
        TextBox txtYabanciDil2;
        TextBox txtYabanciDil3;
        /// <summary>
        /// Kontrollere karşılık gelen değişkenler
        /// </summary>
        List<string> tahsilDurumuListesi = new List<string>();
        public string _tahsilDurumu;

        protected void Page_Load(object sender, EventArgs e)
        {
            GelenIdDegeriIleEntityNesnesiniGetir();
            DetailsViewDoldur();
            DetailsViewIcindekiKontrollerinIdleriniGetir();
        }

        private void DetailsViewIcindekiKontrollerinIdleriniGetir()
        {
            ddlTahsilDurumu = (DropDownList)this.dvKullaniciTahsilBilgileri.FindControl("ddlTahsilDurumu");
            txtSonMezunOlduguOkul = (TextBox)this.dvKullaniciTahsilBilgileri.FindControl("txtSonMezunOlduguOkul");
            txtYabanciDil1 = (TextBox)this.dvKullaniciTahsilBilgileri.FindControl("txtYabanciDil1");
            txtYabanciDil2 = (TextBox)this.dvKullaniciTahsilBilgileri.FindControl("txtYabanciDil2");
            txtYabanciDil3 = (TextBox)this.dvKullaniciTahsilBilgileri.FindControl("txtYabanciDil3");
        }

        private void GelenIdDegeriIleEntityNesnesiniGetir()
        {
            k = KullaniciTahsilOperation.KullaniciTahsilGetByKullaniciId(kullaniciId);
        }

        private void DetailsViewDoldur()
        {
            kullaniciTahsilListesi = new List<KullaniciTahsil>();
            kullaniciTahsilListesi.Add(k);
            dvKullaniciTahsilBilgileri.DataSource = kullaniciTahsilListesi;
            dvKullaniciTahsilBilgileri.DataBind();
        }

        protected void dvKullaniciTahsilBilgileri_ModeChanging(object sender, DetailsViewModeEventArgs e)
        {
            if (e.NewMode == DetailsViewMode.Edit)
            {
                dvKullaniciTahsilBilgileri.ChangeMode(DetailsViewMode.Edit);
            }
            else if (e.NewMode == DetailsViewMode.Insert)
            {
                dvKullaniciTahsilBilgileri.ChangeMode(DetailsViewMode.Insert);
            }
            else
            {
                dvKullaniciTahsilBilgileri.ChangeMode(DetailsViewMode.ReadOnly);
            }

            DetailsViewBind();
        }

        private void DetailsViewBind()
        {
            dvKullaniciTahsilBilgileri.DataBind();
        }

        protected void dvKullaniciTahsilBilgileri_DataBound(object sender, EventArgs e)
        {
            if (this.dvKullaniciTahsilBilgileri.CurrentMode == DetailsViewMode.Edit)
            {
                ddlTahsilDurumu = (DropDownList)this.dvKullaniciTahsilBilgileri.FindControl("ddlTahsilDurumu");
                if (ddlTahsilDurumu != null)
                {
                    ddlTahsilDurumuDoldur();
                    ddlTahsilDurumu.SelectedValue = KullaniciTahsilOperation.TahsilDurumuGetByKullaniciId(kullaniciId);
                }
            }
        }

        private void ddlTahsilDurumuDoldur()
        {
            tahsilDurumuListesi.Add("İlköğretim");
            tahsilDurumuListesi.Add("Lise");
            tahsilDurumuListesi.Add("Lisans");
            tahsilDurumuListesi.Add("Yüksek Lisans");
            ddlTahsilDurumu.DataSource = tahsilDurumuListesi;
            ddlTahsilDurumu.DataBind();
        }

        protected void dvKullaniciTahsilBilgileri_ItemUpdating(object sender, DetailsViewUpdateEventArgs e)
        {
            KullaniciTahsilBilgileriGuncelle();
            DuzenlemeModundanListelemeModunaGeç();
        }

        private void KullaniciTahsilBilgileriGuncelle()
        {
            _tahsilDurumu = ddlTahsilDurumu.SelectedItem.Value;

            k.KullaniciTahsilDurumu = _tahsilDurumu;
            k.KullaniciSonMezunOlduguOkul = txtSonMezunOlduguOkul.Text.Trim();
            k.KullaniciYabanciDil1 = txtYabanciDil1.Text.Trim();
            k.KullaniciYabanciDil2 = txtYabanciDil2.Text.Trim();
            k.KullaniciYabanciDil3 = txtYabanciDil3.Text.Trim();
            KullaniciTahsilOperation.KullaniciTahsilUpdate(k);
        }

        private void DuzenlemeModundanListelemeModunaGeç()
        {
            dvKullaniciTahsilBilgileri.ChangeMode(DetailsViewMode.ReadOnly);
            DetailsViewBind();
        }
    }
}